<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;
use app\common\model\Goods as GoodsModel;

class Goods extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {

    	$field=(new GoodsModel())->getAll();
//    	halt($field);
    	$this->assign('field',$field);
        return $this->fetch();
    }

    //创建商品添加函数
	public function post(){
    	//获得post提交的数据
//		$data=input('post.');
//		halt($data);
		//获得get参数
		$goods_id=input('param.goods_id');
//		通过get参数去数据库中查数据
		$data=Db::table('hb_goods')->where('goods_id',$goods_id)->find();
		if(request()->isPost()){
//			halt(input('post.'));

			$shuju=input('post.');
//			halt($shuju);
			//这里是将数组转换成字符串
			$shuju['goods_pics']=implode('|',$shuju['goods_pics']);
//			halt($shuju);
			$goodsModel= $goods_id ? GoodsModel::find($goods_id) :new GoodsModel();
            //先进行验证,并肩数据存入到了数据库中
			$res=$goodsModel->validate(true)->save($shuju);
            if(false===$res){
            	$this->error($goodsModel->getError());
				//return ['valid'=>0,'msg'=>$goodsModel->getError()];这里是控制器所以是不用再进行返回信息了，直接输出信息就行

			}else{
//				return ['valid'=>1,'msg'=>'操作成功'];
				$this->success('操作成功','index');
			}
		}

		//首先这里讲所属栏目的额数据查出来
		$oldData=Db::table('hb_category')->select();
//		halt($oldData);
		$this->assign('oldData',$oldData);
		//然后将编辑的数据分配到页面中
//		halt($data);
		$this->assign('data',$data);
		//查找商品对应的分类的名称

		 return $this->fetch();
	}

	//删除商品函数
	public function remove(){
		//注意这里的删除是将要删除的商品放到回收站中
		$goods_id=input('param.goods_id');
//		halt($goods_id);
		$goods_id=intval($goods_id);
//		halt($goods_id);
		$res=Db::table('hb_goods')
			->where('goods_id',$goods_id )
			->update(['goods_isrecycle' =>0]);
//		halt($res);返回的使受影响的条数
		if($res!=0){
			$this->success('成功放到商品回收站','index');exit;
		}else{
			$this->error('操作失败');exit;
		}
	}

	//商品回收站首页列表函数
	public function recycle(){

		$field=(new GoodsModel())->getRecycleData();
		$this->assign('field',$field);
		 return $this->fetch();
	}

	//回收站删除函数
	public function recycleRemove(){
		$goods_id=input('param.goods_id');
//		halt($data);
		//然后删除数据库中的数据
		$res=Db::table('hb_goods')->where('goods_id',$goods_id)->delete();
//		halt($res);
		if($res){
			$this->success('回收站删除成功','recycle');exit;
		}else{
			$this->error('回收站删除失败');exit;
		}

	}







    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
